package jaoso.framework.domain;

import org.apache.commons.lang.builder.ToStringBuilder;

import java.io.Serializable;

import java.util.List;
import java.util.Set;

/**
 * @author Hibernate CodeGenerator
 */
public class Role implements Serializable
{
    /** persistent field */
    private Set accounts;

    /** persistent field */
    private Set rights;

    /** persistent field */
    private String desc;

    /** identifier field */
    private String id;
    
    private List reports;

    /**
     * full constructor
     */
    public Role(String desc, Set rights, Set accounts)
    {
        this.desc = desc;
        this.rights = rights;
        this.accounts = accounts;
    }

    /**
     * default constructor
     */
    public Role()
    {
    }

    /**
     * DOCUMENT ME!
     * 
     * @param accounts
     *            DOCUMENT ME!
     */
    public void setAccounts(Set accounts)
    {
        this.accounts = accounts;
    }

    /**
     * DOCUMENT ME!
     * 
     * @return DOCUMENT ME!
     */
    public Set getAccounts()
    {
        return this.accounts;
    }

    /**
     * DOCUMENT ME!
     * 
     * @param desc
     *            DOCUMENT ME!
     */
    public void setDesc(String desc)
    {
        this.desc = desc;
    }

    /**
     * DOCUMENT ME!
     * 
     * @return DOCUMENT ME!
     */
    public String getDesc()
    {
        return this.desc;
    }

    /**
     * DOCUMENT ME!
     * 
     * @param id
     *            DOCUMENT ME!
     */
    public void setId(String id)
    {
        this.id = id;
    }

    /**
     * DOCUMENT ME!
     * 
     * @return DOCUMENT ME!
     */
    public String getId()
    {
        return this.id;
    }

    /**
     * DOCUMENT ME!
     * 
     * @param rights
     *            DOCUMENT ME!
     */
    public void setRights(Set rights)
    {
        this.rights = rights;
    }

    /**
     * DOCUMENT ME!
     * 
     * @return DOCUMENT ME!
     */
    public Set getRights()
    {
        return this.rights;
    }

    /**
     * DOCUMENT ME!
     * 
     * @return DOCUMENT ME!
     */
    public String toString()
    {
        return new ToStringBuilder(this).append("id", getId()).toString();
    }

    /**
     * @return Returns the reports.
     */
    public List getReports()
    {
        return reports;
    }

    /**
     * @param reports The reports to set.
     */
    public void setReports(List reports)
    {
        this.reports = reports;
    }
}